shell [ ] 命令
在shell脚本程序中,大家会经常看到类似下面这样的判断语句:
if [ 条件判断 ]
左中括号 [ 是一个在shell内部实现的内建命令(builtin),其等价于test命令,如上一节教程中编写的脚本程序:
if test -x demo.sh
then
echo "demo.sh has +x permits"
./demo.sh
else
chmod +x demo.sh
echo "add +x demo.sh success"
./demo.sh
fi
将其中的test命令,使用[]代替,脚本的运行结果是一样的:
if [ -x demo.sh ]
then
echo "demo.sh has +x permits"
./demo.sh
else
chmod +x demo.sh
echo "add +x demo.sh success"
./demo.sh
fi
早期的bash版本中,将test命令替换为左中括号 [ 即可,不需要右中括号 ] 包起来,程序即可运行。现在新版的Bash语法,必须要使用一对中括号 [] 将条件判断表达式包起来,脚本才能运行。test命令、[ 命令、[]命令三者是等价的,可以通用。
[]命令的参数可以参考上一节教程中的test命令参数,两者是可以共用的。使用[]命令时还需要注意的一个地方是:中括号里的条件判断表达式,和中括号之间要有空格,左中括号和if之间也要有空格。
《Linux三剑客》视频教程:Linux下开发工具vim、Git、Makefile、autotools、qemu、debug精讲,从零开始一步一步写项目的Makefile,提供企业级Makefile模板,Git操作实战,vim从新手到高手,一步一步打造类似Source Insight的IDE!详情点击:王利涛老师个人淘宝店:Linux三剑客